﻿using System.ComponentModel;
using ZeroSum.Domain.Entities;

namespace ZeroSumDBM.Core.Aggregates.DB
{
    [Description("数据服务")]
    public class DataServer : BaseEntity<long>
    {

        [Description("连接名")]
#pragma warning disable CS8618 // 在退出构造函数时，不可为 null 的 属性“ConnectName”必须包含非 null 值。请考虑将 属性 声明为可以为 null。
        public virtual string ConnectName { get; set; }
#pragma warning restore CS8618 // 在退出构造函数时，不可为 null 的 属性“ConnectName”必须包含非 null 值。请考虑将 属性 声明为可以为 null。

        [Description("主机")]
#pragma warning disable CS8618 // 在退出构造函数时，不可为 null 的 属性“Host”必须包含非 null 值。请考虑将 属性 声明为可以为 null。
        public virtual string Host { get; set; }
#pragma warning restore CS8618 // 在退出构造函数时，不可为 null 的 属性“Host”必须包含非 null 值。请考虑将 属性 声明为可以为 null。

        [Description("端口")]
#pragma warning disable CS8618 // 在退出构造函数时，不可为 null 的 属性“Port”必须包含非 null 值。请考虑将 属性 声明为可以为 null。
        public virtual string Port { get; set; }
#pragma warning restore CS8618 // 在退出构造函数时，不可为 null 的 属性“Port”必须包含非 null 值。请考虑将 属性 声明为可以为 null。

        [Description("用户名")]
#pragma warning disable CS8618 // 在退出构造函数时，不可为 null 的 属性“Account”必须包含非 null 值。请考虑将 属性 声明为可以为 null。
        public virtual string Account { get; set; }
#pragma warning restore CS8618 // 在退出构造函数时，不可为 null 的 属性“Account”必须包含非 null 值。请考虑将 属性 声明为可以为 null。

        [Description("密码")]
#pragma warning disable CS8618 // 在退出构造函数时，不可为 null 的 属性“Password”必须包含非 null 值。请考虑将 属性 声明为可以为 null。
        public virtual string Password { get; set; }
#pragma warning restore CS8618 // 在退出构造函数时，不可为 null 的 属性“Password”必须包含非 null 值。请考虑将 属性 声明为可以为 null。

        [Description("数据库类型")]
        public virtual ZeroSumDbType ZeroSumDbType { get; set; }

        [Description("数据库列表")]
#pragma warning disable CS8618 // 在退出构造函数时，不可为 null 的 属性“DataBases”必须包含非 null 值。请考虑将 属性 声明为可以为 null。
        public virtual ICollection<DataBase> DataBases { get; set; }
#pragma warning restore CS8618 // 在退出构造函数时，不可为 null 的 属性“DataBases”必须包含非 null 值。请考虑将 属性 声明为可以为 null。
    }
}
